package xyz.lwm.lazycat.netpipe.common.serial;

/**
 * 序列化接口
 *
 * @author lwm
 */
public interface Serialization {

    /**
     * 序列化
     *
     * @param obj obj
     * @return bytes array
     */
    <T> byte[] serialize(T obj);

    /**
     * 反序列化
     *
     * @param bytes bytes
     * @param clazz clazz
     * @return obj
     */
    <T> T deserialize(byte[] bytes, Class<T> clazz);

}
